CLX: Sirka scrollbaru TDBGridu

Otázka od: Viktor Doubek

25. 5. 2004 14:02

Zdravim forum,
nevedel by nekdo, jak programove nastavit sirku scrollbaru u TDBGridu v CLX
aplikaci? Globalni nastaveni windows tvrdosijne ignoruje a na jinou cestu jsem
zatim neprisel. Hodilo by se pro touchscreenovou aplikaci. Predem diky moc. VD

Delphi7E,CLX,WXP



Odpovedá: Viktor Doubek

1. 6. 2004 15:09

> nevedel by nekdo, jak programove nastavit sirku scrollbaru u TDBGridu v CLX

Takze si odpovim sam - treba se to bude jeste nekomu hodit (pokusne pro
stringGrid, ale pro DBGrid to bude chodit taky:

type
  TMyStringGrid = class( TStringGrid)
  public
    //zverejneni protected metod a vlastnosti
    procedure UpdateScrollBars;
    property HScrollBar;
    property VScrollBar;
  end;

procedure TMyStringGrid.UpdateScrollBars;
begin
  //zverejnena metoda predka
  inherited;
end;

procedure GridScrollBarsSetWidth( Grid: TCustomGrid; w: integer);
begin
  TMyStringGrid(Grid).VScrollBar.Width := w;
  TMyStringGrid(Grid).HScrollBar.Height := w;
  TMyStringGrid(Grid).UpdateScrollBars;
end;

procedure TForm1.SpinEdit1Changed(Sender: TObject; NewValue: Integer);
begin
  GridScrollBarsSetWidth( StringGrid1, SpinEdit1.Value);
end;